package com.woniuxy.classteacher.uitility;


import com.woniuxy.classteacher.cofiguration.FileUploadProperties;
import com.woniuxy.classteacher.cofiguration.FileUploadProperties;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**
 * @author 李英勇
 * @date 2020/7/17 - 15:12
 * 视频上传
 */
public class VideoUtil {
    public static String storeImageReturnUrl(FileUploadProperties fileUploadProperties, MultipartFile file) {
        // 获取文件名字,并通过uuid重新命名防止重名
        String filename = file.getOriginalFilename();
        System.out.println("文件名为：" + filename);
        // 处理文件名字，防止用户上传相同名字 和类型的文件覆盖
        filename = UUID.randomUUID().toString() + filename.substring(filename.lastIndexOf("."));

        // 获得文件上传目录 读取配置文件方式，绝对路径

        // 相对路径方式 保存到本地项目类路径下
        File myfile = new File(fileUploadProperties.getUploadFolder());

        // 不存在目录就创建
        if (!myfile.exists()) {
            myfile.mkdirs(); // 创建
        }

        // 得到文件存储的路径
        String fileurl = myfile.getAbsolutePath() + "" + File.separator + filename;
        // System.out.println("文件的绝对路径" + fileurl);

        try {
            // 写入到文件
            file.transferTo(new File(fileurl));
        } catch (IllegalStateException | IOException e) {

            e.printStackTrace();
        }

        // 获取成功，返回文件路径

        // 绝对路径方式------ 文件访问路径为：
        String accessPath = fileUploadProperties.getStaticAccessPath();
        //
        int index = accessPath.indexOf("*");
        // 视频真实的访问路径为："/video/"+filename;
        String relPath = accessPath.substring(0, index) + filename;

        return relPath;

    }
}
